package listbyorder.access201_300.test201;

/**
 * @author code_yc
 * @version 1.0
 * @date 2020/6/18 11:12
 */
public class Solution2 {

    // 精辟的算法
    public int rangeBitwiseAnd(int m, int n) {
        int zeros = 0;
        // 只要n还大于n，那么当前位置一定还有0的可能性，那么改位置肯定为0;
        while (n > m) {
            zeros++;
            m >>>= 1;
            n >>>= 1;
        }
        //将 0 的个数空出来
        return m << zeros;
    }
}
